草庐IT

在带有 VS2012/w Update 3 的 Windows 7 上构建的 C++ 程序无法在 WinXP SP3 上运行

我有一个程序是在装有VisualStudio2012Update3的Windows7机器上编译的。我在构建它时选择了“VisualStudio2012-WindowsXP(v110_xp)”平台工具集。但是,当我尝试在WindowsXPSP3机器上运行二进制文件时,出现以下错误:“无法在动态链接库WS2_32.DLL中找到过程入口点inet_ntop。”现在,我很确定我知道这个错误的含义:这意味着DLL加载程序无法在WinXP机器上的WS2_32.DLL中找到inet_ntop()函数。知道这只会处理问题的症状而不是问题的根源,我将WS2_32.DLL从Win7盒子复制到我在WinXP

c++ - 在程序中使用编解码器

正如我在anotherquestion中提到的那样,我在使用Qt5.1的多媒体模块时遇到了问题。QMediaPlayer类不能播放一些MP3文件。我还没有彻底测试其他格式。我不确定这是否是与编解码器相关的问题。但我感兴趣的是直接在我的程序中使用编解码器,而不是依赖后端支持来播放媒体文件。我将在Qt5.1中为桌面Windows平台开发应用程序。我不知道在程序中使用编解码器。任何指针将不胜感激。 最佳答案 可以去【FFMPEG】:http://www.ffmpeg.org/集成开源编解码器来播放您的媒体文件。

C++跨平台查找数据目录的解决方案

这是我的第一篇stackoverflow帖子。我正在制作一个游戏,我需要一个目录来放置它的资源,例如图像、声音和配置文件。(请注意,游戏需要能够修改自己的配置文件。)我想我可以在Linux上使用/usr/share/mygame/,而C:/ProgramFiles/MyGame/在Windows上,但问题出现了,因为游戏可能会或可能不会安装在任何一个地方,以及出于开发目的。我可以检查并找出可执行文件所在的文件夹,但据我所知,这是不好的做法,而且难以实现跨平台。我显然不能使用工作目录,因为游戏可以从shell脚本、命令行、其他进程等运行。我还可以搜索整个文件系统,可能是按敏感度顺序搜索某

python C++ 扩展 : symbol not defined error

我有一个工作的c++代码,我想将其包装到WindowsXP和Python2.7上的python模块中。我以前从未这样做过,所以我研究了swig和distutils。我创建了一个接口(interface)文件和一个setup.py并使用编译pythonsetup.pybuild_ext-cmingw32该脚本从我的module.i和module.cpp文件创建一个module_wrap.cpp,然后创建一个module_wrap.o和一个module.o。module.o的创建为未使用的变量和弃用的char*创建了一堆警告,但它似乎有效。因为C++代码不是我的,所以我现在真的不想讨论这些

c - Win API,如何在对话框中写入文本?

我正在创建一个自己的WinAPI小程序,(练习WINAPI编程)我想创建一个“关于我们”框,比如告诉谁构建了程序,它是哪个版本等等......虽然我只能创建一个空窗口,但我能够成功创建窗口。我想知道如何在框中写入文本?这是我创建对话框的函数,其中ghInstance是窗口的实例:voidCreateDialogBox(HWNDhwnd){CreateWindowEx(WS_EX_DLGMODALFRAME|WS_EX_TOPMOST,TEXT("DialogClass"),TEXT("AboutUs"),WS_VISIBLE|WS_SYSMENU|WS_CAPTION,100,100,

c++ - 如何以编程方式检测 PC 是否具有 USB3 功能?

这看起来应该是一个简单的问题,但我不确定如何最好地解决它。我看过一些关于如何检测连接的设备是USB2还是3的帖子,但我需要知道USB3端口是否可用,即使没有连接任何设备。一种解决方案是遍历注册表中的“SYSTEM\CurrentControlSet\Services”键并与已知USB3服务的预设列表进行比较。我希望有更准确的东西,比如IOCTL调用。我可以实现C++(首选)或C#。在此先感谢您的帮助。 最佳答案 我是这样实现的。不是我正在寻找的解决方案。这基本上会告诉我系统上是否存在USB3.0驱动程序。它不会检测系统上的硬件是否包

c++ - 非分页内存指针

我声明了2个结构:structirp_list{IRP*irp;LIST_ENTRYlh;};和structdev_info{...LIST_ENTRYlh;...};我在DriverWrite函数(IRP_MJ_WRITE)中做:structirp_list*il;structdev_info*di=(structdev_info*)device->DeviceExtension;if(!(il=ExAllocatePool(NonPagedPool,sizeof(*il)))){ret=STATUS_NO_MEMORY;DbgPrint("[uart]UartWritecan'th

c++ - 性能计数器索引 windows pdh c

我正在编写一个实用程序,它应该获取当前的CPU负载。目前它正在工作并在我的本地化中使用\Processor(_Total)\%processtime。对于多语言支持,我通过PdhLookupPerfNameByIndex从注册表中获取计数器名称。现在代码看起来像PdhLookupPerfNameByIndex(NULL,6,processorTime,&cbPathSize);PdhLookupPerfNameByIndex(NULL,238,processor,&cbPathSize);PDH_COUNTER_PATH_ELEMENTSelements={NULL,processor

c++ - 绘画后winapi窗口不刷新

您好,我用这个创建了一个窗口:WNDCLASSEXWndClass={0};if(WndClass.cbSize==0){WndClass.cbSize=sizeof(WNDCLASSEX);WndClass.style=CS_DBLCLKS;WndClass.lpfnWndProc=WindowProcedure;WndClass.cbClsExtra=0;WndClass.cbWndExtra=0;WndClass.hInstance=GetModuleHandle(NULL);WndClass.hIcon=LoadIcon(NULL,IDI_APPLICATION);WndCla

c++ - boost::interprocess 共享内存在 32 和 64 位进程之间

我正在尝试让boost::interprocess在32位和64位进程之间共享内存。Thisbugtrackerentry这表明这在我使用的Boost1.49中是可能的。作为测试,我尝试共享一个无符号整数。这是一个带有两个按钮的简单Qt应用程序。#defineSHARED_MEMORY_NAME"Mysharedmemory"#defineSHARED_VAR_NAME"testVar"namespacebip=boost::interprocess;voidon_createMemButton_clicked(){std::cout(SHARED_VAR_NAME)(42);std: